Document printed with graphical symbols which encode information

ABSTRACT

A document is printed with graphical symbols which encode information but are not human readable; a graphical symbol has been selected from a set of visually distinct graphical symbols, which each code for the same bit or character, and a visible element printed on the document includes multiple such graphical symbols. Prior art graphical symbols (e.g. glyphs etc.) use a limited character set—e.g. just a single type of glyph for a type of bit or character (e.g. forward slash for bit ‘0’ and back slash for bit ‘1’). Hence, it is not possible to automatically select a particular glyph for use in one region of a visible element (e.g. a picture of a face) because it has an internal pixel arrangement that makes it best suited for that particular region for aesthetic reasons.

BACKGROUND TO THE INVENTION

[0001] 1. Field of the Invention

[0002] This invention relates to a document printed with graphicalsymbols which encode information. The encoded information is not humanreadable, but is visible, in the same way that a bar code is visible butnot human readable. The term ‘graphical symbol’ means any visible markwhich encodes information; it therefore includes glyphs, 2D bar codesand other forms of graphical indicia.

[0003] 2. Description of the Prior Art

[0004] There are many security documents which are communicated betweenvarious agencies where the integrity of the documents is a major issue.A prime example is the use of cheques for financial transactions,billions of which are passed between clients and banks and where therisk of fraud is an ever present threat.

[0005] Security documents have historically been protected by aconsiderable range of devices. The actual materials from which they aremade are difficult for an outsider to obtain or reproduce. There aredevices such as holograms or metallic stripes which are intended toprovide visual confirmation of integrity. There are machine readablemagnetic stripes and, more recently, chips, that can contain informationwhich guarantees authenticity. There is a range of special ink types,some, for instance, with special reflective properties which confusescanners and make duplication difficult for counterfeiters.

[0006] Security documents can be divided into (a) those, such ascurrency, where the production of counterfeits is the main issue andwhere security against simple methods of reproduction is required, and(b) those such as cheques where the information contained in thedocument is the prime consideration. This latter group is the subject ofthis invention.

[0007] There is a need to handle many of these documents automaticallyusing high speed printers and sorters. For this purpose the use ofmachine readable symbols is crucial. In these circumstances a solutionthat does not require special materials, or interruption to theworkflow, is the requirement.

[0008] One system of machine readability from printed documents is theOCR system, and this can achieve a high degree of accuracy from standardfonts but tends to fall well short of practical thresholds forhandwritten script. A well established alternative solution is theprinting of machine readable indicia or other kinds of graphical symbolswith fixed formats using the standard printing process.

[0009] One method for adding data to printed documents is the use ofgraphical symbols called ‘glyphs’ (see U.S. Pat. Nos. 5,091,966 and5,245,165). Glyphs are characters made up from four or five pixels ofprinted data which give a uniform greyish appearance and would typicallybe spread in a rectangle across the top of some secure document. Thisdata can be read by scanning and running through an appropriate softwareprogram. Glyphs do not vary significantly in appearance across a printeddocument. They are typically small forward and backward slashes. Glyphsare also always located against a fixed, rectilinear grid. Standardisingthe shape of glyphs and placing them along a predefined rectilinear gridhas been thought necessary for rapid and accurate machine scanning andrecognition.

[0010] A further method for adding data is the use of 2D bar codes,particularly those in the PDF417 format. These bar codes use a fixed setof symbols and are very robust under such transformations as compressionand photocopying.

[0011] 2D bar codes and glyphs can provide authentication by two mainmethods. One method is to link the data in the machine embedded formwith data that is contained in some other form in the document. Thisother form could be ordinary readable script, or it could be in stylisedform as in the MICR (magnetic ink character recognition) line on acheque. A method is described in Payformance Corporation patent, U.S.Pat. No. 6,170,744 where a one way hash of visually readable informationis embedded in a 2D Bar Code. An alternative form of authentication isprovided if the embedded data is compared with information held in adatabase which is indexed by data on the document

[0012] One important characteristic of encoding with graphical symbolsis that the presence of the carrier of information is wholly overt orclearly apparent. Hence, the glyphs and 2D bar codes are clearlyvisible, although the information which is encoded in them would needdecoding. The visibility of the information carrier is in markedcontrast to stegonographic watermarking systems, in which theinformation carrier is specifically designed not to be readilyperceptible; the primary objective of such watermarking schemes is toconceal both the information carrier as well as the information itself.The present invention does not relate to steganographic watermarkingsystems at all, but instead to systems in which the information carrieris readily perceptible.

[0013] As a practical matter, it should be noted that the use of asteganographic watermark to embed information with low visual impact insecurity documents is not a realistic option. This is becausesteganographic watermarks typically have a much lower information rateand are difficult to construct in suitable fashion using only thetypical laser printer that is available at the time information isembedded into a security document such as a cheque.

[0014] There is one major disadvantage with current systems where theinformation carrier is a pattern of clearly visible graphical symbolsfeature (i.e. glyphs and 2D bar codes). It is that the feature may spoilthe appearance of the document. For many situations, particularlycheques, anything which significantly detracts from the overallappearance of the document is commercially very unattractive. But, priorto the present invention, there has been no alternative to unsightly,conventional glyphs and 2D bar codes.

SUMMARY OF THE INVENTION

[0015] In a fist aspect of the invention, there is a document printedwith graphical symbols which encode information but are not humanreadable, wherein a graphical symbol has been selected from a set ofvisually distinct graphical symbols, which each code for the same bit orcharacter, and a visible element printed on the document includesmultiple such graphical symbols.

[0016] Prior art graphical symbols (e.g. glyphs etc.) use a limitedcharacter set—e.g. just a single type of glyph for a type of bit orcharacter (e.g. forward slash for bit ‘0’ and back slash for bit ‘1’).Hence, it is not possible to automatically select a particular glyph foruse in one region of a visible element (e.g. a picture of a face)because it has an internal pixel arrangement that makes it best suitedfor that particular region for aesthetic reasons: this is possible inimplementations of the present invention. Prior art systems use largeand obtrusive blocks of uniform graphical symbols; this considerablymars the appearance of a printed document This negative impact onappearance has been one of the major causes inhibiting the uptake ofgraphical symbol technology for encoding information.

[0017] Further aspects and details of the invention are contained in theclaims of this specification.

[0018] The presence of the graphical symbols is largely disguisedbecause they form the internal structure of an element, which itselfblends into the overall appearance of the document, unlike prior artglyphs or 2D bar codes, which stand out. Within the element itself, finestructure—(i.e. the individual graphical symbols) is present (althoughit may be difficult to see clearly); this fine structure carries theinformation payload.

[0019] The invention can be thought of as distributing visually apparentfine structure in an aesthetic manner. Because there is no need to makethe fine structure totally imperceptible (unlike steganographicwatermarking systems), this structure can carry a far higher informationpayload in a robust manner; this is a critical advantage where thedocuments need to be printed at high speed using conventional printers(e.g. high speed laser printers) and also scanned at high speed withrelatively unsophisticated equipment, as might be found at a retailstore or ordinary retail bank branch.

[0020] Hence, the invention combines the advantages of a robustinformation payload (available in conventional 2D bar codes and glyphs,but at the cost of an unattractive and intrusive graphical elements)with the advantages of an overall aesthetic design (available insteganographic watermarking, but at the cost of limited payload andlimited robustness).

[0021] In an implementation called Bitmorph™ Seal Encoding™ from EnSealSystems Limited of the United Kingdom, the graphical symbols are called‘Bitmorphs’. Bitmorphs have the following unique properties whichdistinguish them over conventional glyphs and other forms of graphicalsymbol:

[0022] Bitmorphs are assembled into a decorative element, such as apicture, seal or signature.

[0023] Bitmoprhs can easily be made to blend into a decorative elementbecause their shape can be altered (e.g. stretched, pulled out, twistedetc.) to fit around contours of the decorative elements. Hence, thecurving border of a picture can use curving Bitmorphs. Bitmorph size andshape is automatically calculated to optimally fill a seal (sized togive maximum density consistent with adequate recognition properties;shaped to be as consistent with aesthetics as possible to blend in aseffectively as possible).

[0024] Bitmoprhs can easily be made to blend into a decorative elementbecause they are ‘polymorphic’ in that, for each bit or character whichneeds to be encoded, there are several possible Bitmorphs which could beselected and printed. Hence, light areas of a picture can use Bitmorphswith a relatively low density of pixels; heavy areas can use higherdensity Bitmorphs. An automatic process can select the optimal Bitmorphfor a given region of a picture to be printed on a document by analysingan original of that picture and using Bitmorphs with the mostappropriate appearance (e.g. pixel density; pixel arrangement—Bitmorphswith strong horizontal pixel arrangements where that fits in with thehatching scheme used in a picture etc.).

[0025] The above approaches lead to the maximum information density ofthe encoded information; further, it is compatible with the system beingused, in particular with the resolution and the quality of the printersand scanners which are part of typical document transaction systems(e.g. high speed cheque printers and scanners; product labellingprinters).

[0026] Bitmorphs themselves do not need to be individually recognised toinitially register a scanning process accurately; instead registrationor synchronisation is performed against the outline of the element whichis formed from the collection of Bitmorphs. This is fast and robust

[0027] With Bitmorphs, the information encoding process is controlled bya key which is unique to a user or group of users. The information isreadable both when the seal is in electronic form and when it has beenscanned from a printed version of the document.

[0028] The purpose of the encoding is typically to allowself-authentication of documents, particularly those such as chequeswhich involve financial transactions. The high information densitypossible with Bitmorphs allows small seals to be effective; it cantherefore be used for stamp labels, such as postal stamps and electronicstamp labels (i.e. stamps which are not bought from a conventional PostOffice, but are printed by a user from a PC) and other documents, suchas IDs and passports, which also need rapid authentication. With many ofthese kinds of documents, only a relatively small proportion of thedocument area can be used for this kind of seal (e.g. less than 20%);the ICAO for example mandates a very limited region for authenticationseals on passports.

[0029] The encoded information will generally relate to informationprinted elsewhere on the document which is human readable or overt (i.e.not hidden) and the authentication process consists of scanning thedocument, decoding the encoded information and comparing it with thehuman readable, overt printed information. For example, the name of thecheque payee is normally printed onto a cheque (assuming the chequecomes from a company or government body). With the present invention,that name is also encoded into a visually attractive element or patternwhich forms a relatively small part of the cheque; it could be asignature, company logo, picture, word, trade mark, or seal.

[0030] The present invention is useful in ‘positive pay’ services; apositive pay service is where a banking customer sends to its bank thecheque numbers, payee and amount information for all cheques which ithas issued; the bank then compares this data against all chequesactually presented and only makes a payment if it finds a match. Thepresent invention can be employed at companies issuing cheques since itcan be readily added into existing systems since (i) the computationalload is light and hence can be handled without slowing down rapid,cheque printing systems and (ii) it needs only conventional laserprinting (under suitable software control). Further, reading andauthentication is also rapid and efficient with low computational load,again making it easy to integrate into existing banking authenticationsystems.

[0031] To recap, there are two important aspects to the Bitmorphimplementation of the invention which differ from prior art solutions.The first (as noted above) is that the information to be encoded isplaced into a feature that would ordinarily be present in a documentsuch as a logo, a signature or an attractive picture etc. If no suchfeature is included in the design of the document then a featurecompatible with the document's appearance, rather than a crudelyapparent imposed security feature (e.g. a large block of unsightlyconventional glyphs), is added to the document as a carrier of theinformation in a manner that will not adversely effect the aestheticappearance.

[0032] Secondly, because graphical symbols have a variable size andshape and are polymorphic (i.e. there are several forms of graphicalsymbol coding for the same bit value or character), the information canbe added at the maximum density and in a manner that is compatible withthe system being used, in particular with the resolution and the qualityof the printers and scanners which are part of the transaction system(i.e. the system for printing the documents and scanning them forauthentication purposes). This contrasts with bar codes where thedensity is governed by the fixed characters and the frames thatdelineate the extent of the coding. The consequence is that the areaoccupied by the information is kept to a minimum or alternatively theamount of encoded data can be increased.

[0033] The high density of information necessitates a speciallyconstructed error coding method as described below.

[0034] An implementation of the invention includes a system ofauthentication which is particularly, but not exclusively, usable in thecase where the invention is used to authenticate bank cheques. Theimplementation includes a method of encrypting data and adding it to theseal, but on account of the high density, the whole of the informationon the cheque may be embedded, allowing retrieval if some of the humanreadable information is corrupted. This contrasts with, for instance,U.S. Pat. No. 6,170,744 where a hashed version of the data is embedded;inevitably, this is just a small part of the available data.

[0035] A further implementation for high value documents (e.g.commercial agreements) comprises the addition of a seal, probably in theform of a company logo or similar item, into which is encoded selectedinformation. Typically a document may consist of a standard text intowhich is added information related to a particular transaction, and itis this latter data that would be protected by the Bitmorph SealEncoding’.

[0036] The high density of the encoded data in an implementation make itless easy to reproduce by standard copying and printing methods than aconventional bar code or glyph pattern. This is partly because thelatter have fixed character sets to enable partially retrievedcharacters to be relatively easily restored: there are no fixedcharacter sets in this implementation—a ‘1’ can be represented in manydifferent ways, as can a ‘0’. A further benefit of the present inventionis that the error correction may provide a measure of the degradation ofthe original pattern from its electronic form. This provides anindication of the occurrence of counterfeiting because any reproductionof a cheque, however skilful, will tend to produce lower qualityinformation.

[0037] As noted above, the pattern which is the heart of this inventioncan be made up of small units of information in a similar manner to thatin which images are formed by dots in the standard printing process. Thechoice of information units allows the production of different visualeffects whilst conveying the same information. The pattern may besuperimposed on backgrounds of various colours thus allowing the designof the document to be minimally affected.

[0038] An important aspect of seal encoding is that it may beimplemented cheaply with minimal impact on operational parameters. Formany security applications, a significant factor in assessment ofeffectiveness is the rate of adoption by relevant agencies and a lowimpact, simple scheme may be more effective than a high security schemewith little take up. Bitmorph Seal Encoding offers the prospect of asimple scheme with a range of levels of security.

[0039] One implementation concerns documents such as certificates whereaesthetic considerations are important and where significant informationis contained. The requirement is to protect against falsification ratherthan copying and to have a convenient machine readable method ofauthentication. Included in this are insurance certificates, contracts,professional qualification certificates. The vital variable data onthese certificates would be encoded in a seal which could match thestyle of the document. In some countries personal documentation includesnot only birth details but details of subsequent life events. Thesedocuments are prone to falsification and could be protected by a seal.

[0040] The seal encoding software would be supplied as a utlility whichcan be attached as a “plugin” to word processing systems such as thoseproducing “Word” or “pdf” documents. Typically, a word document, forinstance, would have a fixed template for a certificate. To this wouldbe added the variable data which describes the particular transaction.This data would be encoded in a seal which would become part of the Worddocument

[0041] If such a seal were to be added to vehicle documentation it wouldenable police with hand held scanners to verify that no falsification ofdata had occurred.

BRIEF DESCRIPTION OF THE DRAWINGS

[0042] The present invention will be described with reference to theaccompanying drawings, in which:

[0043]FIG. 1 is an image of a cheque document in accordance with thepresent invention, in which a signature carries encoded information;

[0044]FIG. 2 is a magnified part of that signature, showing the array ofblack and white pixels (Bitmorphs) which encode information

[0045]FIG. 3 is a magnified image of a corporate logo, in which thebackground carries information encoded as Bitmorphs;

[0046]FIGS. 4 and 5A and 5B schematically illustrate how information isencoded into a template or seal;

[0047]FIG. 6 schematically illustrates the process of writing encodedinformation;

[0048]FIG. 7 schematically illustrates the process of reading encodedinformation at a bank;

[0049]FIG. 8 schematically illustrates the process of reading encodedinformation at a location remote from a bank;

[0050]FIG. 9 schematically illustrates the process of Bitmorph SealEncoding.

DETAILED DESCRIPTION OF THE PREFERRED IMPLEMENTATION

[0051] A description of the preferred implementation is given below.This implementation is called Bitmorph™ Seal Encoding™ from EnSealSystems Limited of the United Kingdom. Bitmorph Seal Encoding provides anew method of embedding information into a seal or logo in contextswhere neither a 2D bar code nor a digital watermark provide the requiredcharacteristics.

[0052] Bitmorph Seal Encoding provides a means of embedding a largeamount of information into a compact symbol where the appearance of aconventional 2D bar code is unacceptable. The 2D bar code requirementfor a set of predetermined characters (e.g. the industry-standard pdf417bar code) is replaced by any form of printed logo, picture, seal, wordetc. in which individual pixels are subtly varied according to the keyused for encoding and the data to be encoded.

[0053] In essence, the Seal Encoding method comprises a process ofscrambling the information to be added, followed by aggregation of thescrambled information into an element or template of the required form.The same information will appear in different forms within the image sothat distortions due to the printing and scanning process may be takeninto account in a calculated manner as opposed to simply taking somestatistical average. The security of the method lies in the scramblingprocess which depends upon a key and upon the template. The key can bepart of the data which is included in the document concerned or it canbe part of a key management system such as PKI. The template is requiredboth for adding and extracting the information. The main way the key isactually utilised is by controlling the generation of the permutationand the generation of the random sequence used in the formatting of thedata. As such it embodies the security of the operation.

[0054] Unlike digital watermarking, Seal Encoding does not rely on animage that is modified lightly to contain information but rather theinformation is assembled, at far higher density, to form the printedimage. This method can be compared to print screening processes wherebydots are used in large numbers to build up a ‘contone’ image, but wherethe actual dot shape is to some degree arbitrary.

[0055] A major issue with all information embedding techniques is therobustness of the process. Information may in some instances be requiredto survive compression in addition to the printing and scanning process.In this respect, Seal Encoding embodies characteristics that lie betweendigital watermarking and 2D bar codes. Seal Encoding is far more robustthan digital watermarks, which rely on correlation or other statisticalprocesses to effect retrieval. Instead the encoded data is read directlyfrom the seal with error correction included to prevent ‘falsepositives’. Conversely, Seal Encoding is less robust than 2D bar codesbecause the characteristics of the seal are not part of a universal setof predefined codes. Consequently, after some degradation from, forexample, photocopying, the data is less easily reconstituted withoutknowledge of the key than is the case with bar codes which use a knowncharacter set. With a 2D bar code, no knowledge is required of theencryption method to reconstruct dubious areas since the character setis fixed. The robustness of Seal Encoding can, however, be adjusted sothat information will tend to be destroyed by illegal photocopying butwill be retrievable in normal operating conditions.

[0056] The encoding process has several stages. The first process is toselect a suitable design of seal—i.e. the element to be made up of largenumbers of individual Bitmorphs. For implementations where maximuminformation density is required, the next process will be calibration ofrelevant hardware. Then, the system looks at the space available in theseal and works out the optimal arrangement of internal cells within thespace. Each cell is effectively a blank Bitmorph—i.e. a group of pixelsof potentially variable size, shape and appearance. The actual data tobe encoded then passes through several phases. Firstly the data isconverted into suitable arithmetic form, commonly a binary string. Errorcorrection is added to overcome the known degradations brought about bythe processing. Encryption using PKI methods may be introduced toprovide security, a variety of possible scenarios for encryption canappear in different embodiments. The system records both the externalborder of the seal and the internal cell positions. It then creates theBitmorph seal by printing the seal onto the document A detector isprovided with the external border information and the internal cellstructure; it uses the external border information for registration,often termed synchronisation—the process of lining up the seal borderoutline stored in memory against the image to be tested untilcorrelation indicate 0 alignment. Once aligned, the detector, using itsknowledge of the cell positions, reads the values of each Bitmorph inthe seal. The details of these stages are given below.

[0057] Choice of Seal

[0058] A pattern such as a signature, picture, word or seal is selectedto provide a template into which the information is to be encoded. Inmany instances, the pattern is one that had already been designed aspart of the document. To avoid repetition, the term ‘seal’ willgenerally be used in the coming sections. The seal, in fact, is merely asilhouette designating an area to be used to contain information and assuch is to be compared with the bounding lines of a bar code. In FIG. 1,the seal is the initials at 1. A portion of these initials is shownmagnified in FIG. 2; the fine structure of Bitmorphs which carry theinformation payload is clearly visible in the magnified image, althoughit is barely perceptible in normal size. FIG. 3 shows a corporate logofor EnSeal, with the background showing individual Bitmorphs. The sizeof Bitmorphs in FIG. 3 has been increased beyond the normal to allow thefine structure to be seen more easily.

[0059] The encoding process replaces each pixel of the area within theseal by a colour selected from a palette of two or more, the coloursdepending upon the inks available at the relevant stage of the printingprocess. In the case of bank cheques, a black and white laser printer isnormally available and so the pixels may simply be black or white or maycontain a grey level generated by the standard screening process.

[0060] Documents using any selection of ink colours are possible, as areshades of intermediate colours generated by screening, but for ease ofretrievability the range of colour must be carefully controlled.

[0061] The seal may be placed on a blank background, but there is nodifficulty if it is added to a preprinted document, as for instance acheque, where there may be an underlying pattern which is visiblebetween the lines of the seal. Such backgrounds may be beneficial inmaking the seal more difficult to copy.

[0062] Implementations of the invention described here assume that theseal can be described by a binary array with the binary charactersselecting one of two possible colours. It is a simple extension to theuse of more levels of colour, using 4 levels of grey or other selectedcolour, for instance, instead of black and white only.

[0063] Encoding and Decoding Using the Template

[0064] The diagram at FIG. 4 indicates the processes. The originaltemplate is a silhouette in black and white. Rules for subdivision intocells are adopted. In this case, cells are rectangles with fixed heightof 3 pixels, minimum width of two pixels and maximum width of fivepixels. A cell contains an individual Bitmorph. The resultingsubdivision of the template into 5 cells is shown in (b). There areremaining black edge pixels which are not encoded.

[0065] In this example, the digit ‘1’ is represented by a Bitmorph witha vertical stripe and the digit ‘1’ by a Bitmorph with a horizontalstripe. The figure at (c) shows how the Bitmorphs are added to the cellsto represent the code 10010. This is summarised in the following table:Stripe imposed Bitmap Cell dimensions on cell Bit value B1 3 × 2Vertical 1 B2 3 × 3 Horizontal 0 B3 3 × 5 Horizontal 0 B4 3 × 3 Vertical1 B5 3 × 4 Horizontal 0

[0066] The information that is sent to the decoder is in different formto that in the encoder to prevent the simple reverse engineering of thetemplate writing. The decoder is provided with the map of the encodingcells. It is also provided with the number of pixels in each row andcolumn of the template. Although not a unique description of thetemplate it is sufficient to enable the synchronisation of the scannedtemplate. The scanned template may need to be rotated or rescaled to fitthe original. The process is partly one of trial and error to achievethe best correlation with the row and column numbers.

[0067] The cells can then be identified by the decoder and the Bitmorphsanalysed to see whether they correlate best with the horizontal orvertical stripes.

[0068] Calibration of Printers and Scanners

[0069] Encoded seals are generally used in closed systems with a knownrange of hardware and since they are designed to have high informationdensity it is important to know the characteristics of the apparatusavailable.

[0070] Calibration of printers is carried out by printing fromelectronic files containing known features which test the ability ofprinters to function accurately. In particular very fine lines and gridstest the ‘dot gain’ in a printing process, that is, the extent to whichink spreads beyond the intended boundary, this depending also on thetype of paper on which the printing takes place. Thus a chequer board ofsharp black and white squares will become a less sharp combination ofblack and grey. There are mathematical models for dot gain which willallow print drivers to correct for ink spread and so the type of driverused will be part of the limitation on accuracy.

[0071] Calibration will also be dependent upon the way in which data isscreened and rasterised before being finally printed. In particular theuse of customised fonts as a means of efficiently producing requiredpatterns requires its own detailed study for calibration purposes.

[0072] By measuring the output of printers at different resolutions andmeasuring how many effective different grey levels are achievable it ispossible to calculate the resolution at which the highest informationdensity can be output by a printer.

[0073] Calibration of scanners is carried out by scanning prepareddocuments with similar features to those mentioned above. If scanningresolution is low, black and white features become blurred andinformation is lost Similarly if there are irregularities, in the leadscrew of a flat bed scanner, for instance, a level of randomness isintroduced into the results which restricts the detected information.

[0074] In the particular case of high speed scanners used in the sortingof bank cheques there may be built in functions which attempt to fill inany gaps in scans which the software supposes to be accidental.Calibration has to recognise these characteristics and Seal Encoding hasto be adapted to cope with the effects. There may be considerabledegradation of scanned data through the use of compression techniques orthe use of black and white rather than contone data.

[0075] As a result of such calibrations, a function can be determinedwhich shows the relationship between resolution, screening process andinformation density. From this the optimal resolution for a given systemcan be determined and this information assists in designing theembedding process for the pattern.

[0076] A refinement of the process of reading characters may be achievedby using calibration cheques, or calibration documents depending uponcontext. A set of calibrating cheques may be encoded using the selectedgraphical symbols representing a known data string. The cheques willthen be printed and scanned in the environment in which the cheques willbe handled. Now although the original electronic form of the code willbe sharp and clear, the form that emerges from the scanning process mayhave considerable distortion and general degradation. Supposing, forinstance, there are two types of character, type A and type B, whichneed to be distinguished for decoding purposes. After the printing andscanning processes the shapes may well be very different from theoriginals and may need to be the subject of careful analysis in order todecide which type is present. Typically a calculation of the correlationtype is carried out to produce a differentiation index. As an examplethe index may be calculated to give values between 0 and 100 and it maybe that if the index is less than 50 the character should be classifiedas type A, and if greater than 50 as type B.

[0077] In practice there may well be several characters of type A thangive an index greater than 50 or characters of type B that give an indexless than 50. The calibration process works by examining thedistribution of index values corresponding to the characters that areknown to be of type A, and similarly for type B. The result will be twocurves which should be roughly Gaussian with the maximum for type Acharacters with an index less than 50 and the maximum for type Bcharacters greater than 50. The errors in recognising characters arewhere the two curves overlap. The first part of the calibration issimply to find a threshold for the index which produces the fewestincorrect characters, i.e to increase or decrease the theoreticalthreshold according to the empirical values.

[0078] The calibration can become more sophisticated if it takes intoaccount the different possible configurations. For instance, it may bethat when a type A character has a type B character immediately above itand one immediately to the left that there is a degree of distortioncaused by the spread of ink or by software infilling by the scanner.These configurations can be analysed by the calibration software and newthresholds calculated. The thresholds can be calculated forconfigurations that include the effect of being at the edge of atemplate, or cases where graphical symbols have been modified toaccommodate features in the template. The calibration can thus overcometo a large degree the shortcomings of the printing and scanning process.Careful choice of the index is also a vital consideration.

[0079] Preparation of Data for Encoding

[0080] The first stage of data preparation is to take the data to beencoded and reduce it to a set of characters from a known alphabet, orto a binary string in the case where encryption is to be used. In thisform, error correction techniques can be applied. The advantage ofworking with characters is that corruption of individual characters cansometimes be countered with the use of additional information fromoptical character recognition or the like.

[0081] Error Correction

[0082] Bitmorph seals operate at the greatest resolution that can beachieved by printers and scanners in the particular context where theyare implemented. One advantage for this is that it is much moredifficult to make a copy that will have precisely the samecharacteristics as the original. It is also possible to devise sensitivemeasures of the degree to which the original information might have beendegraded.

[0083] A consequence of this form of encoding is the need for asophisticated information retrieval methodology including an errorcorrection method adapted for the particular context.

[0084] The basic situation is that a binary string is encoded into adocument in such a way that a ‘1’ and a ‘0’ are each represented by adifferent co-lour, shade or arrangement of pixels. Thus a ‘1’ may berepresented by a black pixel and a ‘0’ by a grey pixel. These pixels areprinted on the document within a template to constitute the seal. Thereare three particular types of error that occur when attempting toretrieve the binary string from a document that has been scanned. Theseare:

[0085] (i) The location and orientation of the seal are affected by theprinting and scanning process. The printing process may cause distortionof the paper, particularly if an absorbent rather than a coated paper isused. A scanner, particularly if it is a cheap flatbed scanner, may havea slightly distorted aspect ratio and irregularities in the direction oftravel of the scanning carriage. High speed scanners often produce asmall rotation in imaging due to the rapid motion of the document beingscanned.

[0086] (ii) The pixels may suffer from ‘dot gain,’ i.e. the tendency ofink to spread, and thus the actual values of grey, for instance, willvary according to the number of black surrounding pixels. Similarly theCCD's in a scanner tend to produce an elision of pixels with theirneighbours. The scanner characteristics referred to above may havesevere effects on particular types of pattern.

[0087] (iii) There may be localised or generalised degradation to theseal by any spots of dirt or coffee stains or such that might arise fromnormal casual usage.

[0088] The first two types of error are dealt with later but to overcomethe third type requires modification of the input data as described inthe next section.

[0089] Addition of Error Correcting Terms

[0090] The problems of localised degradation are dealt with by anadaptation of the highly developed theory of error correction.

[0091] The basis of error correction theory is the idea that n bit codesform an n-dimensional space where a distance between any two codes canbe defined. A standard method of describing the distance is the ‘HammingDistance’ (HD) and this simply counts up, for any pair of n bit codes,the number of positions in which the bits differ. Thus 11110000 and01110001 would have a Hamming distance of 2 because they differ in theirfirst and last positions.

[0092] To be able to correct a received code a set of codes is producedwhere no two codes have a mutual HD of less than a selected amount, e.g.3. Thus if a code is received with a single error it is possible toallocate it to the nearest acceptable code.

[0093] The correction scheme which is used as part of this inventiongenerates a set of codes with a given minimum distance as describedabove. In order to minimise the number of bits the codes are notnecessarily linear. This affects the ease with which decoding takesplace but in the implementations considered here the data is split intosmall codes where complexity of retrieval will not be an issue.

[0094] Where the input information is in the form of characters, thecorrection codes are chosen to give maximum efficiency for theparticular alphabet they are required to represent, and this is oftenimportant where it is necessary to retrieve individual symbols ratherthan concatenate a whole message. Thus if it is required to encode analphabet of upper case letters together with the digits 36 symbols wouldbe required. It is possible to produce 48 codes with minimum HammingDistance of 6 using only 14 bit codes.

[0095] A further refinement is achieved by using a ‘soft decision’method of decoding. Whereas a ‘hard decision’ method involves theattribution of the values ‘1’ or ‘0’ to the quanta of informationobtained from a scan, the ‘soft decision’ method attributes one of arange of values according to the scan data. At its simplest a scan of apixel might give a value between 0 and 255 depending upon whether it waswhite, grey or black. If, however, a group of pixels were to represent acharacter chosen from a range of possible characters a value might beattributed to the character which represented the extent to which itbest fitted one of a known alphabet of characters.

[0096] An important implementation of the invention is in contexts wherethe data on the seal is corroborated by other forms of data on thedocument. An example of this is the case of cheques where data mayappear as text. The text becomes machine readable by the use of OCRsoftware. Now certain letters such as O's and Q's or E's and F's arequite frequently confused in cases where scan quality is low. In thesecases a combination of the seal and the OCR may be required to determinethe intended character. To aid this process the codes which are chosento represent letters which are visually close will be those with largemutual Hamming distances. In this way an error in the one machinereading process is unlikely to be duplicated in the other process.

[0097] A second adaptation is that the codes are permuted before beingapplied to the document so that if any ‘burst errors’ occur then theywill be distributed sparsely among a group of codes and hence will becorrectable by minimising the Hamming distance. In the context of adocument the burst errors will be where there is, for instance, an areathat is darkened by some external means. The result will be that thebits which make up a single character will be scattered throughout theseal so that areas of degraded quality can be compensated by areas ofgood quality.

[0098] The correction scheme which is used as part of thisimplementation generates a set of codes with a given minimum distance asdescribed above. In conventional error correction schemes the codes are‘linear,’ which means that if two codes are combined in a particular waythen a further code having the required properties will be formed. Thepurpose of this is to simplify decoding when large sized samples arebeing handled, otherwise a very time consuming search would have to takeplace.

[0099] In many implementations using the present invention, the codeswill be small enough to enable a thorough search to locate the mostlikely value without being concerned about the time penalties.

[0100] If non-linear codes are permitted there is a greater freedom ofchoice for the same minimum Hamming distance between members of the setof acceptable codes. It is also more easily possible to tailor the codesto fit the number of characters being encoded. This will result in codesrequiring fewer bits for a given minimum Hamming distance. The overalleffect is to use a minimum number of encoded bits yet still be able tocorrect a large number of contingent errors. Where the input informationis in the form of characters the correction codes are chosen to givemaximum efficiency for the particular alphabet they are required torepresent

[0101] Formatting of Data

[0102] The data, having been prepared with the error correctionincluded, may be in a suitable mathematical form but may well also havevery uneven distributions of ‘1’s' and ‘0’s' which present problems inthe printing and scanning process and have an unacceptable appearance.

[0103] To overcome this problem the data is randomised by some means. Inone implementation the binary string is divided into lengths of a chosenfixed size, perhaps, but not necessarily, 8 bits long so that eachstring represents a character. A random number generator is used togenerate an array of random 0's and 1's. This string is XOR'd with thecharacter string to produce a further encoding.

[0104] The data that has been prepared will, in many implementations, beexpressed in fewer pixels than are available in the seal. For thisreason the data is repeated as many times as is necessary to fill theseal. This helps with the correction of errors of the first and secondtype enumerated above as indicated in the section on detection below.

[0105] Character Encoding

[0106] Having calculated a binary string using error correction methodsand random adjustment it is necessary to decide on the actual physicalforms that will be used to represent the values ‘1’ and ‘0.’ At itssimplest, for instance, a single pixel might represent the values usingblack or white in the normal fashion.

[0107] At the next stage of complexity, a group of pixels may representa ‘1’ or ‘0’, or may represent a binary string. The nature of this groupis chosen to reflect the calibration characteristics of the printers andscanners. The distinction between this selection of codes and theprevious selection of codes for error correction is that we are heredealing with the physical way in which the data is added to the paper ina very localised fashion.

[0108] In one implementation, the binary string is divided into lengthsof a chosen fixed size. Thus the strings may be 8 bits in length, giving256 possible characters. These 256 characters are then replaced by analphabet of information units. These units can be selected to have therequired error correction level in terms of their visual distinctness,and required visual qualities in a general aesthetic sense.

[0109] By way of example, in a black and white image, if the informationunits are chosen to contain 12 bits it might be decided that to achievethe required visual intensity there should always be 4 black and 8 whitebits. These could be arranged in any convenient array such as arectangle, but they may also be arranged in an irregular but compactfigure to fit within the constraints of the template. The resultingvisual effect would be of a 33% grey tint. There are 495 codes that have4 black and 8 white bits and hence all 256 characters can be encoded andthere would be some redundancy. When trying to retrieve the informationunits a first check would be that only one of the selected alphabetcharacters is allowable.

[0110] In one implementation the original codes are mapped onto thealphabet codes using a function controlled by the key.

[0111] It might be that a higher level of error protection is required.In this case the information units could perhaps be 16 bits long and 5of these could be taken to be black, providing 4,368 possible codes.With this degree of redundancy it is possible to select codes in such away that the Hamming Distance between any two codes is maximised. Thisallows corrections to take place to counteract such distortion as occursthrough stretching of paper or scanning with altered aspect ratios.Although a character may be distorted the scan should still give aresult closer to the required character than to any other member of thealphabet As each character is detected, the degree of geometricaldistortion can be assessed and used to facilitate detection of the nextcharacter.

[0112] An important aspect of Seal Encoding is the dependence of theencoding characters on the template and the manner in which the templateis subdivided. This is best illustrated by an example. Suppose that amethod of encoding 4 characters is required; the characters might bethought of as binary numbers 00,01,10,11 or maybe as letters a,b,c,d.For each character a recognisable pattern must be placed on thedocument.

[0113] Suppose that the printing process produces pixels that are blackor white and that it is required to produce the appearance of 50% grey.This would mean that if patterns of 6 pixels represented the characters,3 of those pixels would be white and 3 black.

[0114] Proceeding as above, one might produce 4 binary strings, one torepresent each of the is characters. Thus we might have:

[0115] ‘a’=000111: ‘b’=011001: ‘c’=101010: ‘d’=110100

[0116] If on paper a ‘0’ were represented as a white space and a ‘1’ asa black dot, then each of these characters would be 50% grey inappearance. This is part of Seal Encoding's method of achieving anappearance compatible with aesthetic requirements.

[0117] These codes have also been chosen to have a Hamming distance of3. The effect of this is that if the code for ‘a’ were to be damaged bythe first 0 becoming a 1 the string 100111 is still closer to therepresentation for ‘a’ than for any other character.

[0118] If now the template were to be divided up into 3×2 rectangles thecodes would appear as illustrated in FIG. 4A(a). However, if analternative subdivision were to be made as in FIG. 4A(b) then the samecodes would be represented by different patterns. The algorithm forsubdivision must, of course, be known to both the encoder and decoder.

[0119] In cases where the quality of the scans is low, Bitmorph SealEncoding allows the possibility of using characters specificallydesigned to withstand particular forms of distortion. For example, onsome high speed scanners the scanner software infills small gaps in thedata in a horizontal direction. For this reason, the characters that areused will tend to be made up of lines rather than uncoordinated groupsof dots. The characters will, nonetheless, be adapted to fit into theshape of the template rather than be of a fixed type. This isillustrated in the final stage of FIG. 5.

[0120] In preparation for printing, the data that has been calculated isgenerally converted into a rasterised format. In general, for an image,the printer's associated software screens the data, that is to say it isconverted into sets of dots which are themselves built up of thesmallest printable dot that the hardware can apply. However, it ispossible to prepare the data in ‘bitmapped’ form in exactly the way inwhich it is to be printed, bypassing the screening process. In someimplementations this method is used to achieve the required quality ofseal encoding.

[0121] In another implementation the data is processed in the same waythat text is processed, i.e. by having prepared fonts which aredownloaded to the printer. In the case of a Bitmorph seal, these fontsare specially prepared to achieve the required geometrical effect Thefonts are not letters but are groups of pixels carefully arranged sothat by combining them any geometrical effect can be produced. Passingthe data in the form of fonts enables the Seal Encoding to combine withthe workflow in a particularly simple manner.

[0122]FIG. 5 illustrates one implementation of the process.

[0123] In stage 1, the data to be added is in the form ABC123.

[0124] In stage 2, an alphabet has been selected to represent thesevalues. This particular alphabet uses 14 bits per character. Thus ‘A’ isrepresented by 00001011101000 and ‘1’ is represented by 00001101011011.Their Hamiing Distance is 6 because they differ in the6^(th),7^(th),9^(th),10^(th),13^(th) and 14^(th) bit positions. Thismeans that even if the string for ‘A’ were to be retrieved with twoerrors it would still be distinguishable from the string for ‘1’ whichwould have at least 4 errors.

[0125] In stage 3, the bit strings are concatenated. A permutation isthen applied to the bits, the permutation being one of the parametersthat can be varied for each application but must be known both to theencoder and decoder.

[0126] In stage 4, the binary string is exclusive OR'd with a randomarray, so that the 1's and 0's are distributed in an equable fashion.Again the random array is a parameter that has to be known to bothencoder and decoder.

[0127] In stage 5, the template is subdivided into areas of sufficientmagnitude for the embedding of shapes that are distinguishable by theavailable scanners. The areas do not have to be of precisely equal sizenor need they be of the same shape (bitmorphs can have variable size andshape—they are not a fixed character set, but take their size and shapefrom the cell size and shape, and that is automatically calculated independence on the size and shape of the entire seal or significantfeatures within it). However, the algorithm that governs the subdivisionmust be common to both encoder and decoder. Each of the subdivisions isallocated a ‘1’ or ‘0’ according to the binary string that was producedin stage 4.

[0128] In stage 6, the bit values are replaced by Bitmorphs, i.e.arrangements of pixels. The value ‘1’ in this case is roughlyrepresented by a cross. The crosses need not be the same shape or size.All that is necessary is that some shapes are recognisable asrepresenting 1's and some as representing 0's. The choice of Bitmorphsshape reflects the characteristics of the printing and scanning process.There would be no point, for instance, in representing bits by very finestructures if the scanners simply merged all the pixels together. On theother hand, if the document in question were to be a high value documentthat will be scanned on a high resolution scanner then the chosenpatterns could be complex and fine structured and could give anappearance commensurate with high aesthetic requirements.

[0129] Reading of Seal

[0130] The seal is read by scanning in the document and more or lessreversing the processes described. However, errors of type (i) and (ii)in the section above titled ‘Error Correction’ need to be addressedbefore the decryption processes.

[0131] The orientation problem can be overcome by correlating line byline the scanned data and the original template. This provides a veryfine adjustment, augmenting the information obtained by knowledge of thecoordinates of the original inserted seal.

[0132] Where groups of pixels of a selected alphabet are used torepresent bits or strings, small adjustments to location and orientationcan be effected by requiring that each character read is indeed a memberof the defined alphabet Thus a character is assumed to have a calculatedposition with respect to the template but on account of distortion ofpaper or inaccuracy of location of the scanner the character may beslightly higher or lower than is originally supposed. Given that anycharacter has to be one of a fixed alphabet the scanned data can beraised or lowered until the observed pattern of pixels coincides with alegal character. This displacement is then used to predict themiss-location of subsequent characters.

[0133] In addition, the fact that the data has been repeated permits theuse of correlation between different parts of the seal to compensate forother distortions.

[0134] In the implementation where a group of pixels represents a bit(or string of bits) of information, the next stage of the detectionprocess is to identify which member of the selected alphabet correspondsmost closely to the group of pixels from the scan. This is typicallycarried out by the use of a simple correlation calculation. Thus foreach group of pixels there will be a value attributed which expressesthe probability of that group representing a ‘1’ or a ‘0.’ A similarsituation occurs when a single pixel represents a bit

[0135] The next stage of the decoding is to reverse the permutation thathad distributed the error corrected binary data over the document.

[0136] The decoding of the error corrected data requires finding thecode with the minimum Hamming distance, using probabilities based on thevalues in the scanned data. Thus where a single pixel represents a biton some occasions error correction may indicate that a dark grey pixelshould correspond to a ‘0’ rather than a ‘1’. The total amount ofadjustment in carrying out a decode is assessed and gives an indicationof how much degradation the image has undergone through processing. Thisin turn gives an indication of the likelihood that the document has beencopied or otherwise deliberately corrupted.

[0137] The calibration data for the scanners and printers can be used tocorrect dot gain errors that might have occurred.

[0138] The decoding software must have knowledge of the seal templateand of any keys that have been used in the encryption.

[0139] Security

[0140] In most implementations the seal is used as a security device.

[0141] At the system level, the security lies in the fact that the sealcontains information which is present in a different form elsewhere onthe document and the document is authenticated by comparing the twoforms of the information. Thus, on a cheque, payee names might bemachine read by using OCR software, and this information might becompared with the payee name stored in coded form in the seal.Alternatively an account number might be read from the MICR line andsimilarly compared. The self consistency of this information givesconfirmation of its integrity. As mentioned above predictable errors inOCR deciphering may be taken into account by the seal decoding.

[0142] The security of the seal itself may be protected either byencryption or by control of the encoding parameters.

[0143] In one implementation, the data to be encoded is encrypted eitherwholly or in part prior to the encoding process. This can be done usinga PKI system so that the agencies who decode the data have no access tothe private key required to write the data. In one implementation thepublic key is printed on the document so that decryption can take placewithout reference to any remote database.

[0144] In one implementation, the encryption is carried out usingelliptic curve cryptography. This allows the usage of a smaller keyallowing more space for other information.

[0145] Where there is no encryption, the security consists incontrolling access to the permutation carried out as part of the errorcorrection. This has the advantage that errors in single characters donot damage information in other characters, whereas if characters areconcatenated for encryption purposes the loss of one small part of thedata results in the loss of the whole data string.

[0146] The template, error correction method, permutation and randomarray for data condition are all prerequisites for the encoding anddecoding of the seal. Typically the encoding software will be used in alocation which is secure and where the parameters corresponding to aparticular application are available to download to the software. Thedecoding software will tend to be available at less secure sites. Therisk to security is that the decoding software will be reverseengineered to produce an encoder. This requires a high degree ofengineering skill. However, to raise the level of security lessinformation has to be released to remote sites.

[0147] In one implementation the remote sites have the means to decodedata as far as the permutation, that is to say they can undo stages 6, 5and 4 in FIG. 4. The binary string is then transmitted over a securenetwork to an authenticating server which returns the string with thepermutation undone so that the remainder of the decoding can beaccomplished.

[0148] Where there is a group of banks or a set of accounts attached toone bank, it will be necessary to store the encoding parameters for eachaccount. These parameters will be indexed according to a bankidentifier, typically the Bank's routing number. In order that the banksmay vary the parameters they will also be indexed according to the date.

[0149] Bitmorph Seal Encoding for Bank Cheques

[0150] Overview

[0151] Bitmorph Seal Encoding can be applied to encode information intocheques as they are being printed with payee and amount information.This final section explains this particular use of the invention in moredepth.

[0152] Bitmorph Seal Encoding can provide security at two levels, thelower level depending upon the seal encoding parameters and the higherlevel depending on a form of encryption. Where reconciliation takesplace at the issuing Bank the encryption parameters will be availableallowing validation to take place automatically as a batch process.Where validation is required at Cash Shops or other remote agencies thehigher level of security can be accessed but only by on line contactwith the Issuing Bank or a Certification Authority.

[0153] Implementation

[0154] The parameters for encoding, including a database of identifiersfor particular Banks, or Corporate accounts administered by those Banks,are held either at the Bank itself or by a Certification Agency.

[0155] The processes for writing and reading Bitmorph Seals are asdescribed below.

[0156] Writing (FIG. 6)

[0157] 1. The Issuing Bank's MICR routing number, and possibly anaccount number, are used to index the template, the random numbergenerator (RNG) and the CodeBook.

[0158] 2. A generic permutation agreed between banks is used along withthe above parameters, to encode the date and routing number in the seal.

[0159] 3. A second permutation is generated as a function of the date,routing number and a random number which acts as an identifier (ID) foreach Bank or corporate client of the bank. These three entities arehashed and the value so calculated is used in a fixed algorithm togenerate a permutation unique to the account

[0160] 4. Using the new permutation the rest of the data, i.e the payee,value and account details is encoded into the seal.

[0161] Reading (at Issuing Bank) (FIG. 7)

[0162] 1. The Bank's routing number and possibly an account number isread from the MICR data and used to obtain the template, the randomnumber generator (RNG) and the codebook.

[0163] 2. Using the above parameters the date is read from the seal.

[0164] 3. The routing number and date, together with the Issuing Bank'sID, are used to generate the unique permutation.

[0165] 4. The remainder of the data is decoded with the aid of theunique permutation.

[0166] Reading (at Cash Shop or other Remote Agency) (FIG. 8)

[0167] 1. The Issuing Bank's routing number, and possibly an accountnumber, is read from the MICR data and used to obtain the template, therandom number generator (RNG) and the codebook.

[0168] 2. Using the above parameters the date is read from the seal.

[0169] 3. The template and RNG are used to begin the decoding of theremaining data to the point between stages 3 and 4 (seediagram—‘Processes of Seal Encoding’ FIG. 9) where the reverse of thepermutation needs to be applied.

[0170] 4. The binary string thus obtained is sent to the Issuing Bankalong with the routing number and the date. The Issuing Bank returns thestring with inverse of the unique permutation applied.

[0171] 5. The remainder of the data is decoded by reversing the encodingprocess.

[0172] Authentication

[0173] The data may be authenticated by comparing the correspondingfields as decoded from the Seal, the MICR data and the readable textdata.

[0174] Detail of Encoding Process

[0175]FIG. 9 gives a diagrammatic view of the encoding process.

[0176] The Seal Encoding is governed by a template and 3 parameters:—

[0177] (i) The codebook for error correction

[0178] (ii) A permutation for distributing the encoded signal

[0179] (iii) A random sequence for conditioning the signal to beprinted.

[0180] Two permutations are required. The first is a fixed permutationwhich is available for all users and is used to encode the date and Bankrouting number.

[0181] The second is a permutation which is unique to a Bank or anAccount at that Bank. This permutation is used to distribute theremainder of the data. This second permutation is produced via a hashingprocess which depends upon the date, the Bank's routing number and anIdentifier associated with the account in question, although if theIdentifier is indexed through the date and routing number there could besome redundancy here. Any reputable hashing algorithm may be used todistribute the hashed values uniformly through the available hashingspace. The crucial point is that nobody could take sets of publishedcheques and reverse engineer a permutation. There is a potential riskthat past values of Banks' Identifiers will be obtainable so thatcheques could be produced that are a few days out of date. It may bethat there will be a strict cut off for the time allowed forpresentation of cheques.

[0182] The main reasons for embodying the security in the permutationsare twofold.

[0183] First, the payload for seals is limited by aestheticconsiderations and the use of permutations maximises the compactness.The payload is also limited by memory considerations; cheques arepreprocessed for the printing process so that records contain the imagesto be added and the large number of cheques imposes a practical limit onthe size of the images. An alternative would be to process images at thetime of printing but this would tend to slow down operations.

[0184] Secondly, the seal data is used in conjunction with other formsof data, MICR data and text data, and extracting data from damagedcheques can be considerably enhanced by intelligent combination of thesesources. The permutations allow processing of damaged data in a waywhich is not possible with standard encryption. Note that the contactwith the Bank required by Cash shops is completely separate from anyaccount information and hence should be less problematic for accesspurposes.

1. A document printed with graphical symbols which encode informationbut are not human readable, wherein a graphical symbol has been selectedfrom a set of visually distinct graphical symbols, which each code forthe same bit or character, and a visible element printed on the documentincludes multiple such graphical symbols.
 2. The document of claim 1 inwhich the element is a logo, word, number or signature.
 3. The documentof claim 1 in which some or all of the graphical symbols aresuperimposed on a decorative background printed on the document.
 4. Thedocument of claim 1 in which the graphical symbol is printable using theprinter used to create the document.
 5. The document of claim 1 in whicha graphical symbol is a font which is downloadable to a printer used tocreate the document.
 6. The document of claim 1 in which the density ofencoded information is such that if the document is copied using astandard scanner and then printed using a standard ink jet/laserprinter, the sea will not be readable on account of global degradation.7. The document of claim 1 in which the outline of the element is usedfor synchronising an automated process for scanning the document toextract the encoded information from the element.
 8. The document ofclaim 1 in which a permutation algorithm is used to distribute thegraphical symbols within the element in a complex manner.
 9. Thedocument of claim 8 which is scanned at a given physical location andthe inverse permutation applied at a different and more secure remotelocation.
 10. The document of claim 1 in which the element occupies lessthan 20% of the entire surface of the document.
 11. The document ofclaim 1 in which the information encoded into the element is alsopresent in printed, human readable form on the document.
 12. Thedocument of claim 1 in which the information is encoded at the maximumdensity permissible.
 13. The document of claim 12 in which the maximumdensity is determined by a calibration program.
 14. The document ofclaim 1 in which the information is encoded into the element using errorcorrection.
 15. The document of claim 14 in which the error correctionis non linear.
 16. The document of claim 14 in which the errorcorrection depends on a probability metric based on scan data.
 17. Thedocument of claim 14 in which the error correction allows, duringdecoding, the calculation of a probability that the document has beenfraudulently reproduced.
 18. The document of claim 11 in which part ofthe information in the document is encrypted and used to generate apermutation for the remaining information to be placed into the element.19. The document of claim 18 where the encryption is part of a PKIscheme.
 20. The document of claim 18 where the encryption is an ellipticcurve cryptosystem.
 21. The document of claim 1, the integrity of whichneeds to be capable of verification.
 22. The document of claim 21 inwhich the document is a cheque and the information includes one or moreof the following kinds of information: (a) name of the payee; (b) valueof the cheque; (c) date of the cheque; (d) an account number.
 23. Thedocument of claim 1 in which the density of encoded information is suchthat if the document suffers local intense degradation, an errorcorrection scheme enables the element to be read.
 24. The document ofclaim 8 in which the decoding is assisted by information derived fromOCR or reading of MICR information printed on the document because thepermutation method allows the recovery of individual characters evenwhere some are corrupted by processing.
 25. A method of printing adocument with graphical symbols which are not human readable but doencode information, in which a graphical symbol has been selected from aset of visually distinct graphical symbols, which each code for the samebit or character, and a visible element printed on the document includesmultiple such graphical symbols, the method comprising the step ofcomputer generating the graphical symbols and then printing them ontothe document.
 26. The method of claim 25 in which the printed documentis defined in any of claims 1-24.
 27. A method of retrieving informationfrom a printed document, in which the printed document comprises severalgraphical symbols, each selected from a set of visually distinctgraphical symbols, which each code for the same bit or character, and avisible element printed on the document includes multiple such graphicalsymbols; the method comprising the steps of scanning the element andthen recovering the information by decoding the graphical symbols whichmake up some or all of the element.
 28. The method of claim 27 in whichthe printed document is defined in any of claims 1-24.
 29. The method ofclaim 27 further comprising the step of comparing information decodedfrom the element to human readable information printed on the document.30. The method of claim 27 further comprising the step of comparinginformation decoded from the element to information which is indexed byhuman readable information on the document.
 31. The method of claim 27further comprising the step of comparing information which is indexed bythe decoded information extracted from the element to human readableinformation printed on the document.
 32. Computer software able tocontrol a printer to perform the method of claims 25-26.
 33. Computersoftware able to control a decoding system to perform the method ofclaims 27-31.